<?php
abstract class Bliss_DataReport_Export_Abstract
{
	/**
	 * Holds the report
	 * 
	 * @var Bliss_DataReport
	 */
	protected $_report;

	/**
	 * Name of the file to be outputted
	 *
	 * @var string
	 */
	protected $_filename;

	/**
	 * Class constructor
	 *
	 * @param Bliss_DataReport $report
	 */
	public function __construct(Bliss_DataReport $report)
	{
		$this->_report	= $report;
		$this->init();
	}

	/**
	 * Returns the report results
	 */
	public function getResults()
	{
		return $this->_report->getResultSet();
	}

	/**
	 * Sets the file's name
	 * 
	 * @param string $filename
	 */
	public function setFilename($filename)
	{
		$this->_filename	= $filename;
	}

	/**
	 * Initializer method
	 */
	protected function init() {}

	/**
	 * Abstract output method
	 */
	abstract public function output();
}
?>
